﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using NerdDinner.Data.Helpers;
using System.ComponentModel.DataAnnotations; 

namespace NerdDinner.Data.Entities
{
    [Serializable]
    public class Walk 
    {
        public virtual int WalkId { get; private set; }
        
        [Required(ErrorMessage="Название маршрута обязательное поле!"  )]
        public virtual string WalkTitle { get; set; }
        
        [JsonIgnore]
        public virtual int WalkCategoryId { get; set; }
        
        public virtual string WalkDescription { get; set; }
        
        [Required(ErrorMessage="Дата обязательное поле!")]
        [RegularExpression(@"^(0?[1-9]|[12]\d{1}|3[01])[.](0?\d{1}|1[012])[.](\d{2}|\d{4})$", 
        ErrorMessage="Дата должна быть в формате 01.01.2010")]
        [DataType(DataType.DateTime)]
        public virtual DateTime WalkDate { get; set; }
        
        public virtual DateTime WalkEndDate { get; set; }

        public virtual string WalkDateString { get; set; }

        public virtual string WalkEndDateString { get; set; }

        public virtual string WalkTimeString { get; set; }

        public virtual string WalkEndTimeString { get; set; }
        
        public virtual Guid RefOrginizerId{ get; set; }
        
        public virtual double lat { get; set; }
        
        public virtual double lng { get; set; }
        
        [JsonIgnore]
        public virtual WalkCategory WalkCategory {get; set;}
        
        [JsonIgnore]
        public virtual Point Point { get; set; }

        public Walk()
        {
        }

    }

}
